package edu.mercer.sse.plainpdf;

import edu.mercer.sse.error.ReturnCodeException;

/**
 * PDF document.<p>
 * 
 * Conversion operations: convert from TIFF; crop borders.
 *
 * Demonstration of Wrapper Facade pattern.<p>
 *
 * @see FileInformation
 */

public interface PDFConversion
{
	/**
	 * Convert TIFF file into PDF file.<p>
	 * 
	 * Facade Wrapper for underlying utility.<p>
	 * 
	 * @param tiffFile - FileInformation containing file attributes including 
	 * 	mime type
	 * 
	 * @return  this
	 * 
	 * @throws ReturnCodeException - underlying utility execution exceeded
	 * 	range of min, max return code in configuration
	 */
	
	PDFConversion fromTIFF( final FileInformation tiffFile ) throws 
		ReturnCodeException;

	/**
	 * Remove excess margins/borders.<p>
	 * 
	 * @return  this
	 */
	
	PDFConversion crop();
	
	
}//interface
